var imgDir;

function setProperties(pImgDir){
	imgDir=pImgDir;	
}

function verificarFormulario() {
	tname = document.getElementById('cname').value;	
	regExp = /^[A-Za-z0-9_]+$/;
	prueba = regExp.test(tname);
	if (!prueba) {
		alert('El valor del campo nombre es invalido');
		return false;
	}
	
	defaultValue=document.getElementById("vdefault").value;
	regExp =/^[0-9]+(\.[0-9]+){0,1}$|^$|\'.*\'/;
	prueba = regExp.test(defaultValue);
	if (!prueba) {
		alert('El valor por defecto es invalido. Las cadenas de caracteres deben expresarse entre comas simples(\')');
		return false;
	}
	
	if (!validarLongitud()){
		return false;
	}
	return true;
}

function validarLongitud() {
	r = true;
	lengthValue = document.getElementById('length').value;	
	regExp = /^[0-9]+(,[0-9]+){0,1}$|^$/;
	prueba = regExp.test(lengthValue);
	if (!prueba) {
		alert('El valor del campo longitud es invalido');
		r = false;
	}
	
	arrValue=lengthValue.split(",");
	if(arrValue.length>1){
		prueba=parseInt(arrValue[0])>parseInt(arrValue[1]);
		if(!prueba){
			alert('El valor de la precision no puede ser menor al de la escala para el campo longitud es invalido');
			return false;
		}
	}		
	return r;
}

function cambiarLongitudMaximaVDefault(lengthValue) {
	element = document.getElementById("vdefault");
	arrValue=lengthValue.split(",");
	if(arrValue.length>1){
		suma=parseInt(arrValue[0])+1;		
	}else{
		suma=parseInt(arrValue[0]);
	}
	element.maxLength = suma;
}

function addColumn() {
	if (!verificarFormulario()) {
		return;
	}

	tbl = window.opener.document.getElementById('tbl_columnas');
	var lastRow = tbl.rows.length;
	var iteration = lastRow;
	var row = tbl.insertRow(lastRow);

	idGenerator=Math.random();
	
	row.id = idGenerator;

	var cell = row.insertCell(0);
	var cname=document.getElementById('cname').value;
	cell.innerHTML=cname;
	//var nombre = document.createTextNode('test');
	//cell.appendChild(nombre);

	var cell = row.insertCell(1);
	var tipo=document.getElementById('type');
	tvalue=tipo.options[tipo.selectedIndex].value;
	cell.innerHTML=tvalue?tvalue:"&nbsp;";
	//var nombre = document.createTextNode(tvalue);
	//cell.appendChild(nombre);

	var cell = row.insertCell(2);
	var longitud=document.getElementById('length').value;
	cell.innerHTML=longitud?longitud:"&nbsp;";
	//var nombre = document.createTextNode(longitud);
	//cell.appendChild(nombre);

	var cell = row.insertCell(3);
	var vdefault=document.getElementById('vdefault').value;
	cell.innerHTML=vdefault?vdefault:"&nbsp;";
	//var nombre = document.createTextNode(vdefault);
	//cell.appendChild(nombre);

	formulario = document.getElementById('forma');
	identity_null = formulario.identity_null;
	for (i = 0; i < identity_null.length; i++) {
		option = identity_null[i];
		if (option.checked) {
			identity_null_value = option.value;
		}
	}

	var cell = row.insertCell(4);
	cell.innerHTML=identity_null_value;
	//var nombre = document.createTextNode(identity_null_value);
	//cell.appendChild(nombre);
	
	var cell = row.insertCell(5);
	
	//var alink = document.createElement("a");
	//cell=document.createElement("td");
	//var img = document.createElement("img");
	//img.src=imgDir+"/document_delete.png";
	//img.alt="Borrar";
	//img.title="Borrar";
	//img.width=15;
	//img.height=15;
	//img.border=0;
	
	//alink.appendChild(img);
	//alink.href="#";
	//alink.setAttribute("onClick","delRowColumnas('"+row.id+"')");
	//cell.appendChild(alink);
	//nombre
	deleteIconHtml='<a href="#" onclick="delRowColumnas(\''+row.id+'\')">';
	deleteIconHtml+='<img src="'+imgDir+'/document_delete.png" title="Borrar" alt="Borrar" width="15" height="15" border="0"</a>';
	
	definition=cname+'|'+tvalue+'|'+longitud+'|'+vdefault+'|'+identity_null_value;
	var hiddenFildHtml='<input type="hidden" name="columnDefinition[]" id="columnDefinition"'+idGenerator+' value="'+definition+'">';
	cell.innerHTML=deleteIconHtml+hiddenFildHtml;	
	
	row.appendChild(cell);
	window.close();
}

function delRowColumnas(rowid) {		
	var tbl = document.getElementById('tbl_columnas');
	var row=document.getElementById(rowid);
	tbl.removeChild(row);
}